/*
 * RAINBOW.H Version 1.02 (C)1995,1996 HUDSON SOFT
 * HuC6271(RAINBOW)関連 Ｃコンパイラ用ヘッダーファイル(RAINBOW.H)
 */

#ifndef _RAINBOW_H_
#define _RAINBOW_H_

#include	<system.h>

/* register set macros */

#define _put_ra_scroll(x) __OUTPORTB(IO_RA_SCROLL,x)
#define _put_ra_scrollh(x) __OUTPORTB(IO_RA_SCROLLH,x)
#define _put_ra_cr(x) __OUTPORTB(IO_RA_CR,x)
#define _put_ra_nrly(x) __OUTPORTB(IO_RA_NRLY,x)
#define _put_ra_nrlu(x) __OUTPORTB(IO_RA_NRLU,x)
#define _put_ra_nrlv(x) __OUTPORTB(IO_RA_NRLV,x)
#define _put_ra_hsync(x) __OUTPORTB(IO_RA_HSYNC,x)


struct RAREG {u_short rascroll,racr,ranrly,ranrlu,ranrlv,rahsync;};
extern zero struct RAREG m_ra_reg;
/*
 * #define m_ra_reg 0x0c
 */

void init_rainbow(void);
void reset_rainbow(void);
void set_ra_wrap(int sw);
#define WRAP_OFF 0
#define WRAP_ON 1
void set_ra_fts(int sw);
#define FTS_OFF 0
#define FTS_ON 1

void set_ra_scroll(u_short scroll);

struct RA_NRL {u_short nrly,nrlu,nrlv;};
void set_ra_nrl(struct RA_NRL *nrl);

#endif /* _RAINBOW_H_ */

